var arra = [4,1,6,9,3,2,8,7];;


function quickSort(arr) {
  console.log('arr',arr) 
  if(arr == null || arr.length == 0)return [];
  var leader = arr[0]; // 核心以第一个作为中轴 进行左右插入 
  console.log('leader',leader)
  var left = [];
  var right = [];
  for(let i = 1;i < arr.length;i++){ // 这边的最核心的 i = 1 而不是 i = 0,因为第一个值已经被拿出进行对比，进行左右插入
    console.log(i,arr[i] < leader,arr[i],leader)
    if(arr[i] < leader) left.push(arr[i]);
    else right.push(arr[i]);
  }
  
  console.log('right',right);
  console.log('left',left);
  left = quickSort(left);
  
  right = quickSort(right);
  left.push(leader);
  return left.concat(right);
 }
 console.log(1)
 console.log('1',quickSort(arra))
// var arr = [4,1,6,9,3,2,8,7];


//总结，这种快速排序，在极大消耗性能的情况下 实现，简单来说，通过递归进行多次函数调用里面循环方法